package com.yong.sbd.biz.mybatis.service;

import com.yong.sbd.biz.mybatis.entity.SysRole;
import java.util.List;

/**
 * 角色服务接口
 *
 * @author Kang Yong
 * @date 2025/10/24
 * @since 1.0.0
 */
public interface SysRoleService {

    /**
     * 根据ID查询角色
     *
     * @param id {@link Long}
     * @return {@link SysRole}
     */
    SysRole getRoleById(Long id);

    /**
     * 根据角色编码查询角色
     *
     * @param roleCode {@link String}
     * @return {@link SysRole}
     */
    SysRole getRoleByRoleCode(String roleCode);

    /**
     * 查询所有角色
     *
     * @return {@link List<SysRole>}
     */
    List<SysRole> getAllRoles();

    /**
     * 保存角色
     *
     * @param role {@link SysRole}
     * @return boolean
     */
    boolean saveRole(SysRole role);

    /**
     * 更新角色
     *
     * @param role {@link SysRole}
     * @return boolean
     */
    boolean updateRole(SysRole role);

    /**
     * 根据ID删除角色
     *
     * @param id {@link Long}
     * @return boolean
     */
    boolean deleteRole(Long id);
}